Systems and methods for managing errors utilizing augmented reality

ABSTRACT

Systems for managing errors utilizing augmented reality are provided. One system includes a transceiver configured to communicate with a systems management console, capture device for capturing environmental inputs, memory storing code comprising an augmented reality module, and a processor. The processor, when executing the code comprising the augmented reality module, is configured to perform the method below. One method includes capturing an environmental input, identifying a target device in the captured environmental input, and querying the systems management console regarding a status condition for the target device. Also provided are physical computer storage mediums including a computer program product for performing the above method.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to computing systems, and moreparticularly to, systems and methods for managing errors utilizingaugmented reality.

2. Description of the Related Art

Augmented reality is utilized primarily to passively obtain informationregarding a particular location identified in a captured image. Forexample, a user can obtain the menu of a particular restaurant viaaugmented reality utilizing a captured image of the restaurant. In thisexample, a captured image of the exterior of the restaurant is used toidentify the restaurant. Once the restaurant is identified, a user iscapable of obtaining previously stored information related to therestaurant (e.g., the menu, consumer rating, location, etc.). Whileobtaining information via augmented reality is helpful in manysituations, contemporary uses of augmented reality are limited.

SUMMARY OF THE INVENTION

Various embodiments provide systems for managing errors utilizingaugmented reality. One system comprises a transceiver configured tocommunicate with a systems management console; capture device forcapturing environmental inputs, memory storing code comprising anaugmented reality module, and a processor coupled to the transceiver,the capture device, and the memory. In one embodiment, the processor,when executing the code comprising the augmented reality module, isconfigured to capture an environmental input via the capture device,identify a target device in the captured environmental input, and query,utilizing the transceiver, the systems management console regarding astatus condition of the target device.

Other embodiments provide methods for managing errors utilizingaugmented reality in a system including a transceiver configured tocommunicate with a systems management console, a capture device forcapturing environmental inputs, memory storing code comprising anaugmented reality module, and a processor coupled to the transceiver,the capture device, and the memory. One method comprises capturing anenvironmental input via the capture device, identifying, via theprocessor, a target device in the captured environmental input, andquerying, by the processor utilizing the transceiver, the systemsmanagement console regarding a status condition of the target device.

Physical computer storage mediums (e.g., an electrical connection havingone or more wires, a portable computer diskette, a hard disk, a randomaccess memory (RAM), a read-only memory (ROM), an erasable programmableread-only memory (EPROM or Flash memory), an optical fiber, a portablecompact disc read-only memory (CD-ROM), an optical storage device, amagnetic storage device, or any suitable combination of the foregoing)comprising a computer program product method for managing errorsutilizing augmented reality in a system including a transceiverconfigured to communicate with a systems management console, a capturedevice for capturing environmental inputs, memory storing codecomprising an augmented reality module, and a processor coupled to thetransceiver, the capture device, and the memory are also provided. Onephysical computer storage medium comprises computer code for capturingan environmental input via the capture device, computer code foridentifying, via the processor, a target device in the capturedenvironmental input, and computer code for querying, by the processorutilizing the transceiver, the systems management console regarding astatus condition of the target device.

BRIEF DESCRIPTION OF THE DRAWINGS

In order that the advantages of the invention will be readilyunderstood, a more particular description of the invention brieflydescribed above will be rendered by reference to specific embodimentsthat are illustrated in the appended drawings. Understanding that thesedrawings depict only typical embodiments of the invention and are nottherefore to be considered to be limiting of its scope, the inventionwill be described and explained with additional specificity and detailthrough the use of the accompanying drawings, in which:

FIG. 1 is a block diagram of one embodiment of a system for managingerrors utilizing augmented reality;

FIG. 2 is a block diagram of one embodiment of a mobile device utilizedin the system of FIG. 1;

FIG. 3. is a diagram of one embodiment of a repair interface includedwithin the mobile device of FIG. 2; and

FIG. 4 is a flow diagram of one embodiment of a method for managingerrors utilizing augmented reality.

DETAILED DESCRIPTION OF THE DRAWINGS

The illustrated embodiments below provide systems and methods formanaging errors utilizing augmented reality. Also provided are physicalcomputer storage mediums (e.g., an electrical connection having one ormore wires, a portable computer diskette, a hard disk, a random accessmemory (RAM), a read-only memory (ROM), an erasable programmableread-only memory (EPROM or Flash memory), an optical fiber, a portablecompact disc read-only memory (CD-ROM), an optical storage device, amagnetic storage device, or any suitable combination of the foregoing)comprising a computer program product method for managing errorsutilizing augmented reality in a system (e.g., a computing system).

Turning now to the figures, FIG. 1 is a block diagram of one embodimentof a system 100 for managing errors utilizing augmented reality. Atleast in the illustrated embodiment, system 100 comprises a systemsmanagement console 150 configured to manage a system 175, which may beexternal to and/or included as a portion of system 100. System 100further comprises a mobile device 200 in communication with systemsmanagement console 150.

Systems management console 150 is coupled to and configured to managesystem 175. As such, systems management console 150 may be any consolecapable of monitoring system 175 for various statuses of operation orstatus of system 175. The various statuses include, but are not limitedto, normal operation, an error state, a warning state, and the likestatus. In doing so, systems management console 150 is configured toidentify any status and change in status, transmit such status to aquerying device, and receive input from one or more users (via thequerying device) to repair/correct/troubleshoot any identified errorsand/or warnings.

System 175 may be any system and/or device capable of being monitored bysystems management console 150, having any statuses identified bysystems management console 150, and having any identified errors and/orwarning repaired/corrected by systems management console 150. In oneembodiment, system 175 comprises one or more computing devices 1752(e.g., one or more servers, one or more storage devices, one or morepower supplies, one or more blade chassis, etc.) in communication withsystems management console 150.

In various embodiments, each of the one or more computing devices 1752in system 175 comprises an identifier 1754, which may be any type ofidentifier known in the art or developed in the future. In oneembodiment, each identifier 1754 is a bar code or other type ofalphanumeric identifier. In another embodiment, each identifier 1754 isa radio frequency identifier (RFID) device (e.g., a RFID tag). In yetanother embodiment, the location of the each respective computing device1752 is the identifier 1754 for each computing device 1752. In thisembodiment, the location may be with respect to a fixed object, withrespect to the environment within each computing device 1752 resides,and/or with respect to a global position of each computing device. Instill another embodiment, the shape, color, size, and/or other physicalcharacteristic of each computing device 1752 is the identifier 1754 foreach respective computing device 1752. In an alternative embodiment, asound, noise, and/or other auditory cue generated by each respectivecomputing device 1752 is the identifier 1754 for each respectivecomputing device 1752. In yet another alternative embodiment, avibration, a motion, and/or other tactile cue generated by eachrespective computing device 1752 is the identifier 1754 for eachrespective computing device 1752.

Each identifier 1754, in one embodiment, is the same type of identifier.For example, each identifier may be a bar code or other alphanumericidentifier that uniquely distinguishes each computing device 1752. Inanother embodiment, at least two computing devices 1752 includedifferent types of identifiers 1754. For example, a first identifier1754 on a first computing device 1752 may be a bar code and a secondidentifier 1754 for a second computing device 1752 may be the globalposition of the second computing device. Regardless of the type ofidentifier 1754, mobile device 200 is capable of capturing anenvironmental input including the identifier 1754.

With reference now to FIG. 2, FIG. 2 is a block diagram of oneembodiment of mobile device 200 utilized in system 100 of FIG. 1. Atleast in the illustrated embodiment, mobile device 200 comprises atransceiver 210, one or more input devices 220, a display 230, one ormore capture devices 240, a memory 250, and a processor 260 coupled toone another via a bus 270 (e.g., a wired and/or wireless bus).

Transceiver 210 may be any system and/or device capable of communicating(e.g., transmitting and receiving data and/or signals) with systemsmanagement console 150. As such, transceiver 210 may be any transceiverknown in the art or developed in the future.

Input device(s) 220 may be any system and/or device capable of receivinginput from a user. Examples of input devices 220 include, but are notlimited to, a mouse, a key board, a microphone, a touch screen, and thelike input devices. As such, input device(s) 220 may be input deviceknown in the art or developed in the future. In the various embodiments,each input device 220 is in communication with display 230.

Display 230 may be any system and/or device capable of displaying data.As such, display 230 may be any display known in the art or developed inthe future. In one embodiment, display 230 includes a touch screen suchthat display 230 and input device 220 are integrated devices. In variousembodiments, display 230 is configured to display data received fromsystems management console 150, input device(s) 230, and one or morecapture devices 240.

Capture device(s) 240 may be any system and/or device capable ofcapturing environmental inputs (e.g., visual inputs, audio inputs, andtactile inputs). Examples of capture devices 240 include, but are notlimited to, a camera, a microphone, a global positioning system (GPS), agyroscope, a plurality of accelerometers, and the like capture devices.As such, capture device(s) 240 may be any capture device known in theart of developed in the future. In one embodiment, capture device 240 isa camera configured to capture images of the environment surroundingmobile device 200.

Memory 250 may be any system and/or device capable of storing data. Inone embodiment, memory 250 stores computer code comprising an augmentedreality module 2510. Augmented reality module 2510 comprisesinstructions that, when executed by processor 260, causes processor 260to perform a method of managing errors in system 175.

Processor 260 is configured to execute the computer code comprisingaugmented reality module 2510. When executing augmented reality module2510, processor 260 is configured to receive and process a capturedenvironmental input representing at least a portion of system 175 fromcapture device 240.

In processing the captured environmental input, processor 260 isconfigured to identify one or more target devices in system 175 that arerepresented in the captured environmental input. For example, if thecaptured environmental input is an image of at least a portion of system175, processor 260 is configured to identify one or more target devicesin the captured image.

Processor 260 is configured to identify each target device utilizing theidentifier 1754 for each respective target device. For example, in acaptured image of system 175, processor 260 is configured to identifyeach target device via a bar code and/or other visual cue(s). In anotherexample, in a captured audio clip of system 175, processor 260 isconfigured to identify each target device via a sound, noise, and/orother audio cue(s). In still another example, in a captured tactile bitof system 175, processor 260 is configured to identify each targetdevice via a motion, vibration, and/or other tactile cue(s).

After the target device(s) is/are identified, processor 260 isconfigured to query systems management console 150 regarding theidentified target device(s). In response thereto, processor 260 isconfigured to receive from systems management console 150 one or morestatus conditions and overlay the status condition(s) on the capturedenvironmental input. For example, if the captured environmental input isan image of the target device(s), processor 260 is configured to overlayone or more status conditions on the image or portions of the imagerepresenting one or more components of the target device(s).

Furthermore, processor 260 is configured to present to a user cues(audio cues, visual cues (e.g., a hyperlink), tactile cues, etc.) foraccessing and launching a repair interface 2610 (see FIG. 3) when anerror or warning is received from systems management console 150. Repairinterface 2610 enables a user to repair/correct an error and/or warningcondition on the target device. In one embodiment, repair interface 2610launches directly to a problem page for the determined error/warningcondition via, for example, a shortcut. In another embodiment, repairinterface 2610 launches to a general error/warning condition home pagefrom which the user is able to navigate through an error/warningcondition decision tree until the user determines the appropriateaction/correction.

In one example, if the power indicator on system 175 is “OFF,” processor260 will receive from systems management console 150 the reason thepower is “OFF” on the target device. In this example, systems managementconsole 150 may indicate that the main power supply is experiencingproblems and/or present a error log and instruct processor 260 todisplay the problem and/or error log to the user. Processor 260 willthen display the problem and/or error log on display 230 and launchrepair interface 2610 so that the user is able to address the errorcondition.

Repair interface 2610 enables the user to remotely utilize systemsmanagement console 150 to repair/correct the determined fault condition.To accomplish this, the user provides inputs (e.g., via input device(s)220) to repair interface 2610. Processor 260 is configured to thentransmit (e.g., via transceiver 210) the inputs to systems managementconsole 150, which then repairs/corrects the determined error conditionin system 175.

In continuation to the above example, the user may instruct (e.g., viainputs to repair interface 2610) systems management console 150 toinitiate an auxiliary power supply to the target device. In responsethereto, systems management console 150 will initiate the auxiliarypower supply to correct the determined fault condition.

In one embodiment, mobile device 200 is a cellular telephone (e.g., a“smart” phone). In other embodiments, mobile device 200 is a computingtablet, a notebook computing device, a netbook computing device, alaptop computing device, and/or the like computing device.

Turning now to FIG. 4, FIG. 4 is a flow diagram of one embodiment of amethod 400 for managing errors in a system (e.g., system 100) utilizingaugmented reality. At least in the illustrated embodiment, method 400starts by a processor (e.g., processor 260) receiving and processing acaptured environmental input representing at least a portion of a system(e.g., system 175) from a capture device (e.g., capture device 240)(block 405).

In processing the captured environmental input, method 400 comprisesidentifying one or more target devices in the system that arerepresented in the captured environmental input (block 410). In oneembodiment, method 400 utilizes a captured image of the system toidentify each target device. In another embodiment, method 400 utilizesa captured audio clip of the system to identify each target device. Instill another embodiment, method 400 utilizes a captured tactile bit ofthe system to identify each target device.

After the target device(s) is/are identified, method 400 comprisesquerying a systems management console (e.g., systems management console150) regarding the status in the identified target device(s) (block415). In response thereto, method 400 comprises receiving from thesystems management console one or more status conditions for the targetdevice(s) (block 420).

Method 400 further comprises determining if the target device(s) is/areexperiencing an error and/or warning condition (block 425). If thestatus indicates that the target device(s) is/are not experiencing anerror/warning condition (i.e., is/are functioning properly), the user isinformed (block 430) and method 400 ends. If the status indicates thatthe target device(s) includes an error/warning condition, method 400includes launching a repair interface (e.g., repair interface 2610)(block 435).

The target of the repair interface can be at a user interface (e.g., adisplay) on the mobile device and/or at user interface elements on thedevice(s) and/or system being monitored (e.g., system 175). For example,display elements on the display (e.g., brightness, flash rate frequency,audio volume, and the like) could be modified/enhanced to furtheraugment the diagnostic task.

After the repair interface is launched, method 400 comprises receivinginputs (e.g., from a user) to the repair interface from the user (block440). The inputs are then transmitted to the systems management console(block 445), which then repairs/corrects the determined fault conditionin system in accordance with the received inputs. Method 400 then ends.

While at least one exemplary embodiment has been presented in theforegoing detailed description of the invention, it should beappreciated that a vast number of variations exist. It should also beappreciated that the exemplary embodiment or exemplary embodiments areonly examples, and are not intended to limit the scope, applicability,or configuration of the invention in any way. Rather, the foregoingdetailed description will provide those skilled in the art with aconvenient road map for implementing an exemplary embodiment of theinvention, it being understood that various changes may be made in thefunction and arrangement of elements described in an exemplaryembodiment without departing from the scope of the invention as setforth in the appended claims and their legal equivalents.

As will be appreciated by one of ordinary skill in the art, aspects ofthe present invention may be embodied as a system, method, or computerprogram product. Accordingly, aspects of the present invention may takethe form of an entirely hardware embodiment, an entirely softwareembodiment (including firmware, resident software, micro-code, etc.) oran embodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module,” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer-readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer-readable medium(s) may beutilized. The computer-readable medium may be a computer-readable signalmedium or a physical computer-readable storage medium. A physicalcomputer readable storage medium may be, for example, but not limitedto, an electronic, magnetic, optical, crystal, polymer, electromagnetic,infrared, or semiconductor system, apparatus, or device, or any suitablecombination of the foregoing. Examples of a physical computer-readablestorage medium include, but are not limited to, an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk,RAM, ROM, an EPROM, a Flash memory, an optical fiber, a CD-ROM, anoptical storage device, a magnetic storage device, or any suitablecombination of the foregoing. In the context of this document, acomputer-readable storage medium may be any tangible medium that cancontain, or store a program or data for use by or in connection with aninstruction execution system, apparatus, or device.

Computer code embodied on a computer-readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wired, optical fiber cable, radio frequency (RF), etc., or any suitablecombination of the foregoing. Computer code for carrying out operationsfor aspects of the present invention may be written in any staticlanguage, such as the “C” programming language or other similarprogramming language. The computer code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, or communication system, including, but notlimited to, a local area network (LAN) or a wide area network (WAN),Converged Network, or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).

Aspects of the present invention are described above with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable medium that can direct a computer, other programmabledata processing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer-readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks. The computer program instructions may also beloaded onto a computer, other programmable data processing apparatus, orother devices to cause a series of operational steps to be performed onthe computer, other programmable apparatus or other devices to produce acomputer implemented process such that the instructions which execute onthe computer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The flowchart and block diagrams in the above figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

While one or more embodiments of the present invention have beenillustrated in detail, one of ordinary skill in the art will appreciatethat modifications and adaptations to those embodiments may be madewithout departing from the scope of the present invention as set forthin the following claims.

1. A system for managing errors utilizing augmented reality, comprising:a transceiver configured to communicate with a systems managementconsole; a capture device for capturing environmental inputs; memorystoring code comprising an augmented reality module; and a processorcoupled to the transceiver, the capture device, and the memory, whereinthe processor, when executing the code comprising the augmented realitymodule, is configured to: capture an environmental input via the capturedevice, identify a target device in the captured environmental input,and query, utilizing the transceiver, the systems management consoleregarding a status condition of the target device.
 2. The system ofclaim 1, wherein the capture device is one of an audio capturing device,a visual capturing device, and a tactile capturing device.
 3. The systemof claim 1, wherein the capture device is a camera and the environmentalinput is a visual image.
 4. The system of claim 1, wherein, whenidentifying the target device, the processor is configured to identifythe target device via one of a bar code, a radio frequency identifier,and a position of the target device.
 5. The system of claim 1, furthercomprising a display coupled to the processor, wherein the processor isfurther configured to: receive, via the transceiver, informationregarding the status condition from the systems management console; anddisplay, via the display, the information regarding the statuscondition.
 6. The system of claim 5, further comprising an input devicecoupled to the processor, the input device configured to receive inputsfrom a user, wherein the processor is further configured to: synthesizethe received information and the captured environmental input; receive,via the input device, an input from a user for troubleshooting thestatus condition when the status condition is a fault condition; andtransmit, via the transceiver, the input to the systems managementconsole.
 7. The system of claim 6, wherein: the system comprises one ofa cellular telephone, a laptop computing device, and a tablet computingdevice; and the input device is one of a keyboard, a touch screenassociated with the display, and a computing mouse. 8-14. (canceled) 15.A physical computer storage medium comprising a computer program productmethod for managing errors utilizing augmented reality in a systemincluding a transceiver configured to communicate with a systemsmanagement console, a capture device for capturing environmental inputs,memory storing code comprising an augmented reality module, and aprocessor coupled to the transceiver, the capture device, and thememory, the physical computer storage medium comprising: computer codefor capturing an environmental input via the capture device; computercode for identifying, via the processor, a target device in the capturedenvironmental input; and computer code for querying, by the processorutilizing the transceiver, the systems management console regarding astatus condition of the target device.
 16. The physical computer storagemedium of claim 15, wherein the computer code for identifying the targetdevice comprises computer code for identifying the target device via oneof a bar code, a radio frequency identifier, and a position of thetarget device.
 17. The physical computer storage medium of claim 15,wherein the system further comprises a display coupled to the processor,the physical computer storage medium further comprising: computer codefor receiving, via the transceiver, information regarding the statuscondition from the systems management console; and computer code fordisplaying, via the display, the information regarding the statuscondition.
 18. The physical computer storage medium of claim 17, whereinthe system further comprises input device coupled to the processor, theinput device configured to receive inputs from a user, the physicalcomputer storage medium further comprising: computer code forsynthesizing the received information and the captured environmentalinput; computer code for receiving an input from a user fortroubleshooting the status condition when the status condition is afault condition; and computer code for transmitting the input to thesystems management console.
 19. The physical computer storage medium ofclaim 15, wherein the computer code for capturing the environmentalinput comprises computer code for capturing the environmental inpututilizing one of an audio capturing device, a visual capturing device,and a tactile capturing device.
 20. The physical computer storage mediumof claim 15, wherein the computer code for capturing the environmentalinput comprises computer code for capturing a visual image of the targetdevice utilizing a camera.